The tremendous increase in the use of the Internet makes it necessary to decrease the response time of the Internet. The increased use of video and audio applications makes it even worse. Video and audio information volume is much bigger in terms of data storage than textual or even stills graphic information. Moreover, due to its nature, video and audio information should flow continuously, otherwise the information will not be understandable.
In order to overcome such problems, an effort is made by hosting services to bring the contents hosted by them as close as possible to the “last mile”. This is usually done for specific contents (video, audio, HTML) and uses a costly infrastructure composed of hundreds of servers located mostly in the USA. Companies such as Akamai, Intervu, Sandpiper and Inkotomi follow this paradigm. The basic idea is to duplicate the information to all the servers and once a request arrives, locate the nearest server and direct the request to that server.
New terms were invented to deal with these issues, such as “streaming” (i.e. information that flows continuously) and QoS (Quality of Service). On the Internet and other networks, QoS assumes that transmission rate, error rates, and other characteristics can be measured, improved, and, to some extent, guaranteed in advance. QoS is of particular concern for the continuous transmission of high-bandwidth video and multimedia information.
One of the prior art methods dealing with the problems is the “Proxy Server”. A “proxy server” is a system that caches data items from other servers to speed up access. Its operation principle is that data reaching the proxy server is stored on the server's storage memory, and when further requests for this information arrives, the proxy fetches it from its own memory instead of downloading the data from the remote station where it resides permanently.
Internet Service Providers (ISPs) make use of proxy servers to speed-up the data flow of their services, and therefore to improve their service. Security and administrative control are co-products of the use of proxy servers.
An interesting phenomenon regarding the data flow through the Internet is the fact that most Internet interactions are asymmetric, since the user's requests for information are much smaller in data size terms than the resulting information received. For instance, a typical request for Internet page looks like “http://www.server.com”; however, this 22-byte request causes reception of an HTML page that usually contains visual information such as picture files or video files, and sometimes even vocal information. The size of a stills picture file is at least ten thousands bytes, and the size of video and audio files is hundreds of thousands of bytes. Therefore, a ratio of 1:10 between the upstream and the downstream data volume is not rare.
The asymmetry of traffic volume between downstream and upstream directions in networks such as the Internet has already been observed, and the prior art, e.g. U.S. Pat. No. 5,938,737, have attempted to exploit it for various purposes.
As regards proxies, the ultimate proxy server is one whose storage capacity is endless. Such a proxy server is impossible to create since the storage capacity is finite.
It is an object of the present invention to provide a method for utilizing network resources more efficiently by using the receiver's local network connections and upstream bandwidth for data streaming.
It is a further object of the invention to provide a method that increases the amount of the cache capacity without requiring the use of a traditional proxy server, nor the addition of physical mass-storage apparatus to servers in the network.
It is yet a further object of the invention to provide a scalable method the cache capacity of which increases as the number of users connected to a network increases.
It is another object of the invention to provide a method that makes use of the upstream bandwidth in order to achieve better performance of data flow in networks.
It is still another object of the invention to provide a method for improving the QoS in full-duplex connections on applications such as Internet, satellites, DSL, etc., which overcomes the drawbacks of the prior art.
It is yet another object of the invention to provide a method for improving the QoS, which is not bound to a specific protocol or data type.
It is a further object of the invention to provide a method, which improves the QoS on Web multi-cast transmissions.
It is another object of the invention to provide a method for decreasing the network load.
Other objects and advantages of the invention will become apparent as the description proceeds.